﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using MySql.Data;

namespace DAL
{
    public class Util_DAL
    {

        public DataTable TIPO_INGRESO_Listar()
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_TIPO_INGRESO_Listar";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }



        public DataTable DATA_PERIODO_Listar(String semestre)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PERIODO_ListaxSemestre";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@in_semestre", semestre);
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_CONCEPTO_Listar(Int32 Id_Concepto)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_CONCEPTO_Listar";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@in_Id_Concepto", Id_Concepto);
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }


        public DataTable DATA_CONCEPTO_PAGO_ListaMonto(Int32 Id_Concepto)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_CONCEPTO_PAGO_ListaMonto";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@in_Id_Concepto", Id_Concepto);
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_Especialidad_Listar()
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_Especialidad_Listar";
                cmd.CommandType = CommandType.StoredProcedure;
                
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }


        public DataTable DATA_PERIODO_ListaxSemestre(String semestre)// lista todos los semestres
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PERIODO_ListaxSemestre";
                cmd.Parameters.AddWithValue("@in_semestre",semestre);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }


        public DataTable ESTADO_CONDICION_listar()// lista todos los estados
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_ESTADO_CONDICION_listar";
              
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }


        public DataTable DATA_MATRIC1_Nomina_NuevoSemestre()// devuelve el semetre que se va a generar
        {
            

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_MATRIC1_Nomina_NuevoSemestre";

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }


        public DataTable DATA_PERIODO_listaActivo()
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_PERIODO_listaActivo";
                cmd.CommandType = CommandType.StoredProcedure;
               
                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_ESPECIALIDAD_ListaPorCodigo(String cod_espec)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_ESPECIALIDAD_ListaPorCodigo";
                cmd.Parameters.AddWithValue("@in_COD_ESPEC", cod_espec);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_MATRIC1_CuentaPorSexo(String Semestre,String especialiad,string ciclo,String sexo)
        {
            //Lista todas las especialidades de la tabla data_notas

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "sp_DATA_MATRIC1_CuentaPorSexo";
                cmd.Parameters.AddWithValue("@in_semestre", Semestre);
                cmd.Parameters.AddWithValue("@in_especialidad", especialiad);
                cmd.Parameters.AddWithValue("@in_ciclo", ciclo);

                cmd.Parameters.AddWithValue("@in_sexo", sexo);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }

        public DataTable DATA_CONDICION_TIPOCASO_LISTAR()
        {
            //Lista condiciones de tipo caso

            String cadena = "";
            Conexion conex = new Conexion();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter adpnota3 = new MySqlDataAdapter();
            DataTable data = new DataTable();
            MySqlConnection conexion = new MySqlConnection();
            cadena = conex.ConexionCampusVirtual();

            conexion.ConnectionString = cadena;
            try
            {
                conexion.Open();
                cmd.CommandText = "SP_CONDICION_TIPOCASO_LISTAR";
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Connection = conexion;

                adpnota3 = new MySqlDataAdapter(cmd);
                adpnota3.Fill(data);

                return data;


            }
            catch (Exception ex)
            {
                throw ex;

            }

            finally
            {
                conexion.Close();
                cmd.Dispose();

            }
        }




      


    }
}
